package dao.utilisateur;

import java.util.List;

import modele.utilisateur.Investisseur;

import org.hibernate.Session;

import dao.AbstractDAO;
import dao.HibernateUtil;

public class InvestisseurDAO extends AbstractDAO<Investisseur>  {
	
	private static InvestisseurDAO DAO = new InvestisseurDAO();
	
	public static InvestisseurDAO getDAO()
	{
		return DAO;
	}
	public Investisseur retrieveByLoginPass(String login, String mdp)
	{
        Session session = HibernateUtil.getSessionFactory().getCurrentSession();
        session.beginTransaction();
        
        String hql = "from Investisseur u WHERE u.login = :login AND u.mdp = :mdp";
        List list = session.createQuery(hql)
		        	.setParameter("login", login)
		        	.setParameter("mdp", mdp)
		        	.list();
        
        session.getTransaction().commit();
        
        if(list.size() != 0)
        	return (Investisseur) list.get(0);
        else
        	return null;
	}
	
	@Override
	public List<Investisseur> retrieveAll()
	{
        Session session = HibernateUtil.getSessionFactory().getCurrentSession();
        session.beginTransaction();
        
        String hql = "from Investisseur";
        List<Investisseur> list = session.createQuery(hql)
		        	.list();
        
        session.getTransaction().commit();
        
        if(list.size() != 0)
        	return list;
        else
        	return null;
	}
}
